package com.mercury.ec.module.air.controller.admin.demandorder.vo.demandprice;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.mercury.ec.framework.common.pojo.PageParam;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static com.mercury.ec.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 机票需求订单方案价格分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class AirDemandPricePageReqVO extends PageParam {

    @Schema(description = "需求订单id", example = "4310")
    private Long demandId;

    @Schema(description = "方案id", example = "22079")
    private Long demandSchemeId;

    @Schema(description = "行程id", example = "16485")
    private Long demandRouteId;

    @Schema(description = "乘客类型 字典（system_passenger_type 1-成人/2-儿童/3-婴儿）", example = "2")
    private Integer passengerType;

    @Schema(description = "采购附加费")
    private BigDecimal purchaseAdditionalFee;

    @Schema(description = "采购服务费")
    private BigDecimal purchaseServiceFee;

    @Schema(description = "采购票面价", example = "4446")
    private BigDecimal purchaseTicketPrice;

    @Schema(description = "采购价", example = "11881")
    private BigDecimal purchasePrice;

    @Schema(description = "采购机建税")
    private BigDecimal purchaseAirportTax;

    @Schema(description = "采购燃油税")
    private BigDecimal purchaseOilTax;

    @Schema(description = "采购税")
    private BigDecimal purchaseTax;

    @Schema(description = "采购代理费率")
    private BigDecimal purchaseAgencyFeeRate;

    @Schema(description = "采购代理费")
    private BigDecimal purchaseAgencyFee;

    @Schema(description = "采购后返费率")
    private BigDecimal purchaseBackRebateFeeRate;

    @Schema(description = "采购后返费")
    private BigDecimal purchaseBackRebateFee;

    @Schema(description = "采购记奖价", example = "25926")
    private BigDecimal purchasePrizePrice;

    @Schema(description = "采购记奖税")
    private BigDecimal purchasePrizeTax;

    @Schema(description = "采购金额")
    private BigDecimal purchaseAmount;

    @Schema(description = "采购应付")
    private BigDecimal purchasePayable;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

}
